Ext.define('extjs6test.view.LoginController', {
    extend: 'Ext.app.ViewController',
    alias: 'controller.login',
    requires: [
        'extjs6test.model.LoginData',
        'extjs6test.store.Token'
    ],
    onLoginClick: function (btn, event) {
        var form = this.lookupReference('loginForm');
        if (form.isValid()) {
            form.submit({
                url: extjs6test.app.getRequestBaseUrl() + "/users/loginToken",
                // params: {
                //     newStatus: 'delivered'
                // },
                success: function (form, action) {
                    var json = action.result;
                    if (json.success) {
                        // var data = form.getForm().getValues()
                        // if (data.userAccount == json.data.userAccount
                        //     && data.password == json.data.password) {
                        // }
                        // else {
                        //     Ext.MessageBox.alert('提示', '用户名或者密码错误')
                        // }

                        console.log(json.data);

                        var record = Ext.create('extjs6test.model.Token', json.data);
                        // record.save();
                        var loginStore = Ext.create('extjs6test.store.Token');
                        loginStore.add(record);
                        // console.log(loginStore);
                        loginStore.sync();

                        var viewport = form.up('viewport');
                        viewport.removeAll();
                        viewport.add({xtype: 'app-main'});

                    }
                    else {
                        Ext.MessageBox.alert("提示", json.message);
                    }
                    Ext.Msg.alert('Success', action.result.msg);
                },
                failure: function (form, action) {
                    switch (action.failureType) {
                        case Ext.form.action.Action.CLIENT_INVALID:
                            Ext.Msg.alert('Failure', 'Form fields may not be submitted with invalid values');
                            break;
                        case Ext.form.action.Action.CONNECT_FAILURE:
                            Ext.Msg.alert('Failure', 'Ajax communication failed');
                            break;
                        case Ext.form.action.Action.SERVER_INVALID:
                            Ext.Msg.alert('Failure', action.result.msg);
                    }
                }
            })
        }
        // if (form.isValid()) {
        //     Ext.Ajax.request({
        //         url: extjs6test.app.getRequestBaseUrl()+"/users/login",
        //         jsonData:Ext.encode(form.getForm().getValues())
        //     }).then(function (response, opts) {
        //         var json = Ext.decode(response.responseText);
        //         if (json.success) {
        //             // var data = form.getForm().getValues()
        //             // if (data.userAccount == json.data.userAccount
        //             //     && data.password == json.data.password) {
        //             // }
        //             // else {
        //             //     Ext.MessageBox.alert('提示', '用户名或者密码错误')
        //             // }
        //
        //             console.log(json.data);
        //
        //             var record = Ext.create('extjs6test.model.LoginData', json.data);
        //             // record.save();
        //             var loginStore = Ext.create('extjs6test.store.LoginData');
        //             loginStore.add(record);
        //             // console.log(loginStore);
        //             loginStore.sync();
        //
        //             var viewport = form.up('viewport');
        //             viewport.removeAll();
        //             viewport.add({xtype: 'app-main'});
        //
        //         }
        //         else {
        //             Ext.MessageBox.alert("提示",json.message);
        //         }
        //     }, function (response, opts) {
        //         alert(response.status)
        //     })
        // }
    },
    onResetClick: function (btn, event) {
        var form=this.lookupReference('loginForm');
        form.reset();
    }
});
